Métodos de Predictivos (Clasificación o Aprendizaje-Supervisado)


Índices de Calidad del Modelo y Funciones Auxiliares

Se necesita cargar las siguientes librerías

Muestra la distribución de la variable a predecir

Muestra la distribución de una variable numérica según la variable a predecir

Muestra la distribución de una variable categórica según la variable a predecir

poder.predictivo.categorica<-function(datos,variable.predecir,variable.comparar,ylab="",xlab="", 
                                      main=paste("Densidad de la variable",variable.comparar,'según',variable.predecir),
                                      col=NA){
  gg_color <- function (n) {
     hues <- seq(15, 375, length = n + 1)
     hcl(h = hues, l = 65, c = 100)[1:n]
  }
  if(missing(variable.predecir) | !(variable.predecir %in% colnames(datos))){
    stop("variable.predecir tiene que ser ingresada y ser un nombre de columna", call. = FALSE )
  }
  if(missing(variable.comparar) | !(variable.comparar %in% colnames(datos)) | 
     !(is.factor(datos[,variable.comparar]) | is.character(datos[,variable.comparar])) ){
    stop("variable.comparar tiene que ser ingresada y ser un nombre de columna categórica", call. = FALSE )
  }
  
  if(is.character(datos[,variable.predecir]) | is.factor(datos[,variable.predecir])){
    if(length(col) == 0 || is.na(col)){
      col <- gg_color(length(unique(datos[,variable.predecir])))
    }else{
      col <- rep(col,length(unique(datos[,variable.predecir])))
    }
    
    datos2 <- datos %>%
      dplyr::group_by_(variable.comparar, variable.predecir) %>%
      dplyr::summarise(count = n())
    
    if(variable.comparar != variable.predecir){
      datos2 <-   datos2 %>% dplyr::group_by_(variable.comparar)
    }
    datos2 <- datos2 %>% dplyr::mutate(prop = round(count/sum(count),4))
  
    ggplot(data = datos2, mapping = aes_string(x = variable.comparar, y = "prop", fill = variable.predecir)) +
      geom_col(position = "fill") +
      geom_text(aes(label = glue("{percent(prop)} ({count})")), position = position_stack(vjust = .5), color = "white") +
      scale_y_continuous(label = percent) +
      labs(y =  xlab, x  = ylab, title = main) +
      scale_fill_manual(values = col, name = variable.predecir) +
      theme(legend.position = "bottom")+
      coord_flip()
    
  }else{
    stop("La variable a predecir tienen que ser de tipo factor o character", call. = FALSE )
  }
}

Índices para matrices NxN


El método de Potenciación - ADA Boosting

Es importante saber que este método funciona sólo cuando la variable a predecir tiene solo para 2 categorías.

Ejemplo Scoring

'data.frame':   5000 obs. of  6 variables:
 $ MontoCredito     : int  14327 111404 21128 15426 10351 27060 243369 16300 18319 107037 ...
 $ IngresoNeto      : Ord.factor w/ 2 levels "1"<"2": 1 1 1 2 1 1 1 2 2 2 ...
 $ CoefCreditoAvaluo: Ord.factor w/ 12 levels "1"<"2"<"3"<"4"<..: 1 1 1 1 1 1 1 1 1 1 ...
 $ MontoCuota       : Factor w/ 4 levels "Alto","Bajo",..: 4 4 4 4 4 4 4 4 4 4 ...
 $ GradoAcademico   : Factor w/ 2 levels "Bachiller","Licenciatura": 1 1 1 1 1 1 1 1 1 1 ...
 $ BuenPagador      : Factor w/ 2 levels "No","Si": 2 2 2 2 2 2 2 2 2 2 ...

Distribución de las categorías

Predicción

Vamos a generar al azar una tabla de testing con 15% de los datos y una tabla de aprendizaje con 85%

Paquete ada

Se cargan las librerías

Se genera el modelo

Call:
ada(BuenPagador ~ ., data = taprendizaje)

Loss: exponential Method: discrete   Iteration: 50 

Final Confusion Matrix for Data:
          Final Prediction
True value   No   Si
        No  425  178
        Si   44 3603

Train Error: 0.052 

Out-Of-Bag Error:  0.053  iteration= 40 

Additional Estimates of number of iterations:

train.err1 train.kap1 
        16         16 

Se genera la predicción

  [1] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
 [24] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
 [47] Si Si Si Si No No No Si Si Si Si Si Si Si Si Si No Si Si Si Si Si No
 [70] Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
 [93] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[116] No Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[139] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No
[162] Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[185] Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
[208] Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si No Si Si Si Si Si
[231] Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[254] Si Si Si Si No Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si
[277] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
[300] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[323] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si No Si Si Si
[346] No Si Si Si Si Si Si No Si Si Si No Si Si Si Si No Si Si Si Si No Si
[369] Si Si Si No Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si
[392] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si No No Si Si Si Si Si
[415] Si No Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si
[438] Si Si Si Si Si No Si No Si Si Si Si Si Si Si Si Si No No Si Si Si Si
[461] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[484] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si
[507] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[530] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si Si Si
[553] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[576] Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[599] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si
[622] Si Si Si Si Si No Si No Si Si Si Si Si No Si Si Si Si Si No No Si Si
[645] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[668] Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si
[691] Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si Si Si Si Si Si
[714] Si Si Si Si Si No Si Si Si Si Si Si Si Si Si No No No Si Si Si Si Si
[737] Si Si Si Si Si Si Si Si Si No Si Si Si Si
Levels: No Si

Graficar el modelo

La importancia de variables según el modelo

Se genera la matriz de confusión

    prediccion
      No  Si
  No  66  36
  Si   4 644

Índices de calidad de la predicción

$`Matriz de Confusión`
    prediccion
      No  Si
  No  66  36
  Si   4 644

$`Precisión Global`
[1] 0.9466667

$`Error Global`
[1] 0.05333333

$`Precisión por categoría`
       No        Si 
0.6470588 0.9938272 

Paquete trainR

Se cargan las librerías

Se genera el modelo

Call:
ada(BuenPagador ~ ., data = taprendizaje)

Loss: exponential Method: discrete   Iteration: 50 

Final Confusion Matrix for Data:
          Final Prediction
True value   No   Si
        No  436  167
        Si   44 3603

Train Error: 0.05 

Out-Of-Bag Error:  0.051  iteration= 46 

Additional Estimates of number of iterations:

train.err1 train.kap1 
        49         49 

Se genera la predicción

  [1] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
 [24] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
 [47] Si Si Si Si No No No Si Si Si Si Si Si Si Si Si No Si Si Si Si Si No
 [70] Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
 [93] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[116] No Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si No Si Si Si
[139] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No
[162] Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[185] Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
[208] Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si No Si Si Si Si Si
[231] Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[254] Si Si Si Si No Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si
[277] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
[300] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[323] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si No Si Si Si
[346] No Si Si Si Si Si Si No Si Si Si No Si No Si Si No Si Si Si Si No Si
[369] Si Si Si No Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si
[392] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si
[415] Si No Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si
[438] Si Si Si Si Si No Si No Si Si Si Si Si Si Si Si Si No No Si Si Si Si
[461] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[484] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si
[507] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[530] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si Si Si
[553] Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[576] Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[599] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si
[622] Si Si Si Si Si No Si No Si Si Si Si Si No Si Si Si Si Si No No Si Si
[645] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[668] Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si
[691] Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si Si Si Si Si Si
[714] Si Si Si Si Si No Si Si Si Si Si Si Si Si Si No No No Si Si Si Si Si
[737] Si Si Si Si Si Si Si Si Si No Si Si Si Si
Levels: No Si

Graficar el modelo

La importancia de variables según el modelo

Se genera la matriz de confusión

    prediction
real  No  Si
  No  70  32
  Si   4 644

Índices de calidad de la predicción


Confusion Matrix:
    prediction
real  No  Si
  No  70  32
  Si   4 644

Overall Accuracy: 0.9520
Overall Error:    0.0480

Category Accuracy:

           No           Si
     0.686275     0.993827

Podemos omitir crear la matriz de confusión


Confusion Matrix:
    prediction
real  No  Si
  No  70  32
  Si   4 644

Overall Accuracy: 0.9520
Overall Error:    0.0480

Category Accuracy:

           No           Si
     0.686275     0.993827


Genera el modelo modificando:

  • iter: el número de árboles. Por defecto iter = 50
  • type: el algoritmo interno. Por defecto type = ‘discrete’ (“discrete”,“real”,“gentle”)
  • minsplit: la cantidad mínima por nodo. Por defecto minsplit = 2
  • maxdepth: el número de niveles. Por defecto maxdepth = 15

Paquete ada

Se cargan las librerías

Se genera el modelo

Call:
ada(BuenPagador ~ ., data = taprendizaje, iter = 200, type = "real", 
    control = rpart.control(minsplit = 2, maxdepth = 30))

Loss: exponential Method: real   Iteration: 200 

Final Confusion Matrix for Data:
          Final Prediction
True value   No   Si
        No  454  149
        Si   41 3606

Train Error: 0.045 

Out-Of-Bag Error:  0.048  iteration= 184 

Additional Estimates of number of iterations:

train.err1 train.kap1 
       197        197 

Se genera la predicción

  [1] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
 [24] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
 [47] Si Si Si Si No No No Si Si Si Si Si Si Si Si Si No Si Si Si Si Si No
 [70] Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
 [93] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[116] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[139] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No
[162] Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[185] Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
[208] Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si No Si Si Si Si Si
[231] Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[254] Si Si Si Si No Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si
[277] Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si No
[300] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[323] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si No Si Si Si
[346] No Si Si Si Si Si Si No Si Si Si No Si No Si Si No Si Si Si Si No Si
[369] Si Si Si No Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si
[392] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si No No Si Si Si Si Si
[415] Si No Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si
[438] Si Si Si Si Si No Si No Si Si Si Si Si Si Si Si Si No No Si Si Si Si
[461] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[484] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si
[507] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[530] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si Si Si
[553] Si Si Si Si Si Si Si No Si Si Si Si Si Si No Si Si Si Si No Si Si Si
[576] Si No Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[599] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si
[622] Si Si Si Si Si No Si No Si Si Si Si Si No Si Si Si Si Si No No Si Si
[645] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[668] Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si
[691] Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si Si Si Si Si Si
[714] Si Si Si Si Si No Si Si Si Si Si Si Si Si Si No No No Si Si Si Si Si
[737] Si Si Si Si Si Si Si Si Si No Si Si Si Si
Levels: No Si

Graficar el modelo

La importancia de variables según el modelo

Se genera la matriz de confusión

    prediccion
      No  Si
  No  73  29
  Si   5 643

Índices de calidad de la predicción

$`Matriz de Confusión`
    prediccion
      No  Si
  No  73  29
  Si   5 643

$`Precisión Global`
[1] 0.9546667

$`Error Global`
[1] 0.04533333

$`Precisión por categoría`
       No        Si 
0.7156863 0.9922840 

Paquete trainR

Se cargan las librerías

Se genera el modelo

Call:
ada(BuenPagador ~ ., data = taprendizaje, iter = 200, type = "real", 
    control = rpart.control(minsplit = 2, maxdepth = 30))

Loss: exponential Method: real   Iteration: 200 

Final Confusion Matrix for Data:
          Final Prediction
True value   No   Si
        No  449  154
        Si   46 3601

Train Error: 0.047 

Out-Of-Bag Error:  0.047  iteration= 166 

Additional Estimates of number of iterations:

train.err1 train.kap1 
       148        179 

Se genera la predicción

  [1] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
 [24] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
 [47] Si Si Si Si No No No Si Si Si Si Si Si Si Si Si No Si Si Si Si Si No
 [70] Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
 [93] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[116] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[139] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No
[162] Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[185] Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
[208] Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si No Si Si Si Si Si
[231] Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[254] Si Si Si Si No Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si
[277] Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
[300] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[323] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si No Si Si Si
[346] No Si Si Si Si Si Si No Si Si Si No Si Si Si Si No Si Si Si Si No Si
[369] Si Si Si No Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si
[392] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si
[415] Si No Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si
[438] Si Si Si Si Si No Si No Si Si Si Si Si Si Si Si Si No No Si Si Si Si
[461] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[484] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si
[507] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[530] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si Si Si
[553] Si Si Si Si Si Si Si No Si Si Si Si Si Si No Si Si Si Si No Si Si Si
[576] Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[599] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si
[622] Si Si Si Si Si No Si No Si Si Si Si Si No Si Si Si Si Si No No Si Si
[645] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[668] Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si
[691] Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si Si Si Si Si Si
[714] Si Si Si Si Si No Si Si Si Si Si Si Si Si Si No No No Si Si Si Si Si
[737] Si Si Si Si Si Si Si Si Si No Si Si Si Si
Levels: No Si

Graficar el modelo

La importancia de variables según el modelo

Se genera la matriz de confusión

    prediction
real  No  Si
  No  71  31
  Si   3 645

Índices de calidad de la predicción


Confusion Matrix:
    prediction
real  No  Si
  No  71  31
  Si   3 645

Overall Accuracy: 0.9547
Overall Error:    0.0453

Category Accuracy:

           No           Si
     0.696078     0.995370

Podemos omitir crear la matriz de confusión


Confusion Matrix:
    prediction
real  No  Si
  No  71  31
  Si   3 645

Overall Accuracy: 0.9547
Overall Error:    0.0453

Category Accuracy:

           No           Si
     0.696078     0.995370


Selección de Variables

Utilizando los datos que previamente cargamos

Podemos visualizar la distribución de las variables numéricas y categóricas según la variable a predecir.

Predicción con selección de variables.

Utilizando los mismo datos para prueba (ttesting) y aprendizaje (taprendizaje) que creamos anteriormente.

Paquete ada

Se cargan las librerías

Se genera el modelo

Call:
ada(BuenPagador ~ CoefCreditoAvaluo + MontoCredito + IngresoNeto, 
    data = taprendizaje, iter = 200, type = "real", control = rpart.control(minsplit = 2, 
        maxdepth = 30))

Loss: exponential Method: real   Iteration: 200 

Final Confusion Matrix for Data:
          Final Prediction
True value   No   Si
        No  124  479
        Si   53 3594

Train Error: 0.125 

Out-Of-Bag Error:  0.127  iteration= 162 

Additional Estimates of number of iterations:

train.err1 train.kap1 
       200        200 

Se genera la predicción

  [1] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
 [24] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
 [47] Si Si Si Si Si No No Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
 [70] Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
 [93] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[116] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[139] Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[162] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[185] Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[208] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[231] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[254] Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[277] Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[300] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[323] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[346] Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si
[369] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[392] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[415] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[438] Si Si Si Si Si Si Si No Si Si Si Si Si No Si Si Si Si No Si Si Si Si
[461] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[484] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
[507] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[530] Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si No Si Si Si Si
[553] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[576] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[599] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[622] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
[645] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
[668] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
[691] Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[714] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[737] Si Si Si Si Si Si Si Si Si Si Si Si Si Si
Levels: No Si

Graficar el modelo

La importancia de variables según el modelo

Se genera la matriz de confusión

    prediccion
      No  Si
  No  21  81
  Si   5 643

Índices de calidad de la predicción

$`Matriz de Confusión`
    prediccion
      No  Si
  No  21  81
  Si   5 643

$`Precisión Global`
[1] 0.8853333

$`Error Global`
[1] 0.1146667

$`Precisión por categoría`
       No        Si 
0.2058824 0.9922840 

Paquete trainR

Se cargan las librerías

Se genera el modelo

Call:
ada(BuenPagador ~ CoefCreditoAvaluo + MontoCredito + IngresoNeto, 
    data = taprendizaje, iter = 200, type = "real", control = rpart.control(minsplit = 2, 
        maxdepth = 30))

Loss: exponential Method: real   Iteration: 200 

Final Confusion Matrix for Data:
          Final Prediction
True value   No   Si
        No  130  473
        Si   54 3593

Train Error: 0.124 

Out-Of-Bag Error:  0.126  iteration= 97 

Additional Estimates of number of iterations:

train.err1 train.kap1 
       186        186 

Se genera la predicción

  [1] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
 [24] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
 [47] Si Si Si Si Si No No Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
 [70] Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
 [93] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[116] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[139] Si Si Si Si Si Si Si No Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[162] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[185] Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[208] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[231] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[254] Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[277] Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[300] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[323] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[346] Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si
[369] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[392] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[415] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[438] Si Si Si Si Si Si Si No Si Si Si Si Si No Si Si Si Si No Si Si Si Si
[461] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
[484] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
[507] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[530] Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si No Si Si Si Si
[553] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[576] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[599] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[622] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
[645] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
[668] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
[691] Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[714] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si No Si Si Si Si Si Si Si
[737] Si Si Si Si Si Si Si Si Si Si Si Si Si Si
Levels: No Si

Graficar el modelo

La importancia de variables según el modelo

Se genera la matriz de confusión

    prediction
real  No  Si
  No  22  80
  Si   8 640

Índices de calidad de la predicción


Confusion Matrix:
    prediction
real  No  Si
  No  22  80
  Si   8 640

Overall Accuracy: 0.8827
Overall Error:    0.1173

Category Accuracy:

           No           Si
     0.215686     0.987654

Podemos omitir crear la matriz de confusión


Confusion Matrix:
    prediction
real  No  Si
  No  22  80
  Si   8 640

Overall Accuracy: 0.8827
Overall Error:    0.1173

Category Accuracy:

           No           Si
     0.215686     0.987654